package com.common.base.widget.indicators

import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.LinearGradient
import android.graphics.Shader

/**
 *
 * 作者：sosou
 *
 * 版本：1.0
 *
 * 创建日期：2023/2/4
 *
 * 描述：
 *
 * 修订历史：
 *
 */
class SGradientLinePagerIndicator : BaseGradientLinePagerIndicator {
    private var mColors = intArrayOf(Color.parseColor("#FF975A"), Color.parseColor("#FF5D38"))

    constructor(context: Context?) : super(context!!) {}
    constructor(context: Context?, startColor: Int, endColor: Int) : super(
        context!!
    ) {
        if (startColor != 0 && endColor != 0) {
            mColors = intArrayOf(startColor, endColor)
        }
    }

    override fun onDraw(canvas: Canvas) {
        val lg = LinearGradient(
            getLineRect().left,
            getLineRect().top,
            getLineRect().right,
            getLineRect().bottom,
            mColors,
            null,
            Shader.TileMode.CLAMP
        )
        getPaint()?.let {
            it.shader = lg
            canvas.drawRoundRect(
                getLineRect(), getRoundRadius(), getRoundRadius(),
                it
            )
        }
    }
}